package com.keensense.vcm.model;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

import com.keensense.vcm.model.enums.SuspectTypeEnum;

/**
 * @author lanjian
 * @date 2020/5/28 3:51 下午
 */
@XmlRootElement(name = "request")
public class SearchSuspectTaskRequest {

    private SearchSuspectTaskRequest() {}

    public SearchSuspectTaskRequest(Page page) {
        this.page = page;
    }

    @XmlElement
    private String suspectId;

    @XmlElement
    private String name;

    @XmlElement
    private Long startCreateTime;

    @XmlElement
    private Long endCreateTime;

    @XmlElement
    private String createUser;

    @XmlElement
    private SuspectTypeEnum type;

    @XmlElement
    private Boolean enable;

    @XmlElement
    private String libraryId;

    @XmlElement
    private String groupId;

    @XmlElement
    private Page page;

    @XmlTransient
    public String getSuspectId() {
        return suspectId;
    }

    public void setSuspectId(String suspectId) {
        this.suspectId = suspectId;
    }

    @XmlTransient
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @XmlTransient
    public Long getStartCreateTime() {
        return startCreateTime;
    }

    public void setStartCreateTime(Long startCreateTime) {
        this.startCreateTime = startCreateTime;
    }

    @XmlTransient
    public Long getEndCreateTime() {
        return endCreateTime;
    }

    public void setEndCreateTime(Long endCreateTime) {
        this.endCreateTime = endCreateTime;
    }

    @XmlTransient
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @XmlTransient
    public SuspectTypeEnum getType() {
        return type;
    }

    public void setType(SuspectTypeEnum type) {
        this.type = type;
    }

    @XmlTransient
    public Boolean getEnable() {
        return enable;
    }

    public void setEnable(Boolean enable) {
        this.enable = enable;
    }

    @XmlTransient
    public String getLibraryId() {
        return libraryId;
    }

    public void setLibraryId(String libraryId) {
        this.libraryId = libraryId;
    }

    @XmlTransient
    public String getGroupId() {
        return groupId;
    }

    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }

    @XmlTransient
    public Page getPage() {
        return page;
    }

    public void setPage(Page page) {
        this.page = page;
    }

    public static class Page {

        public Page(Integer no, Integer pageSize) {
            this.no = no;
            this.pageSize = pageSize;
        }

        @XmlElement
        private Integer no;

        @XmlElement
        private Integer pageSize;

        @XmlTransient
        public Integer getNo() {
            return no;
        }

        public void setNo(Integer no) {
            this.no = no;
        }

        @XmlTransient
        public Integer getPageSize() {
            return pageSize;
        }

        public void setPageSize(Integer pageSize) {
            this.pageSize = pageSize;
        }
    }
}
